package com.kaizeli.website.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kaizeli.website.pojo.base.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 人员验收表
 * 员工验收记录表
 * 当验收节点下靠的所有人员均完成验收后，更新对应验收节点状态为已经完成
 * 人员验收时填写用工成本，验收完成后自动更新验收节点、项目的成本
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("employee_acceptance")
public class EmployeeAcceptance extends BaseDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.NONE)
    private Long id;

    /**
     * 验收批次ID
     */
    private Long acceptanceId;

    /**
     * 项目ID（冗余方便查询）
     */
    private Long projectId;

    /**
     * 员工ID
     */
    private Long employeeId;

    /**
     * 本周期工时（小时）
     */
    private BigDecimal workHours;

    /**
     * 结算时单价（可覆盖employee.hourly_rate）
     */
    private BigDecimal hourlyRate;

    /**
     * 人工费用（计算字段：work_hours * hourly_rate）
     */
    private BigDecimal laborCost;

    /**
     * 员工个人结算单附件（例如工时单）
     */
    private String attachmentUrl;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}
